package cn.hsp.login.controller;

import cn.hsp.login.bean.Role;
import cn.hsp.login.bean.UserDetail;
import cn.hsp.login.bean.response.LoginResp;
import cn.hsp.login.bean.response.Resp;
import cn.hsp.login.service.AuthService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author 花生皮编程(CSDN 、 简书 、 掘金 、 今日头条 、 微信公众号 、 抖音 、 快手 、 B站 、 西瓜视频)
 * 编程学习资料及开源项目见：https://juejin.cn/post/7002792005688360968
 */

@RestController
public class LoginController {

    @Autowired
    private AuthService authService;

    @PostMapping(value = "/login")
    public Resp<LoginResp> login(@RequestBody UserDetail user) {
        return authService.login(user.getUsername(), user.getPassword());
    }

    @PostMapping(value = "/register")
    public Resp<String> register(@RequestBody UserDetail user) {
        long defaultRoleId = 1L;
        UserDetail userDetail = new UserDetail(user.getUsername(), user.getPassword(), new Role(defaultRoleId));
        return authService.register(userDetail);
    }

}
